package com.ssy.jt808.gateway.client.media.constant;

import com.ssy.gaea.common.exception.UnknownEnumException;

/**
 * @author zeno
 */
public enum LiveAVCommandEnum{

  /** 关闭音视频传输指令 */
  CloseAV(0),
  /** 切换码流 */
  SwitchStreamType(1),
  /** 暂停该通道所有流的发送 */
  PauseAV(2),
  /** 恢复暂停前流的发送,与暂停前的流类型一致 */
  ResumeAV(3),
  /** 关闭双向对讲 */
  CloseTwoWayTalk(4),
  ;

  LiveAVCommandEnum( int value ){
    this.value = value;
  }

  /** 枚举状态值 */
  private final int value;

  /**
   * 获取枚举状态值
   *
   * @return 枚举状态值
   */
  public int value(){
    return value;
  }

  /**
   * 根据 状态值 获取枚举对象
   *
   * @param value 状态值
   *
   * @return 枚举对象
   */
  public static LiveAVCommandEnum of( int value ){

    for(LiveAVCommandEnum e : LiveAVCommandEnum.values()){
      if( e.value == value ){
        return e;
      }
    }

    throw new UnknownEnumException(value, LiveAVCommandEnum.class);
  }
}
